package la.iok.hzsvn.lewin.movie.operation.mapper;

import la.iok.hzsvn.lewin.movie.operation.entity.Wallet;
import la.iok.hzsvn.lewin.mybatis.mapper.BaseMapper;

public interface WalletMapper extends BaseMapper<Wallet> {
    /**
     * 充值
     * @param id 钱包id
     * @param version 数据当前版本
     * @param amount 充值金额
     * @return 影响记录数
     */
    int charge(Long id, Long version, Integer amount);

    /**
     * 扣费
     * @param userId 用户id
     * @param amount 扣费金额
     * @param version 记录的当前版本
     * @return 修改的记录数,应该为1
     */
    int cost(Long userId, Integer amount, Long version);
}
